perm filename SORT.SAI[44,BGB] blob sn#145818 filedate 1975-02-18 generic text, type C, neo UTF8
COMMENT ⊗   VALID 00002 PAGES
C REC  PAGE   DESCRIPTION
C00001 00001
C00002 00002	BEGIN "SORT"
C00004 ENDMK
C⊗;
BEGIN "SORT"
	REQUIRE "ABBREV[SYS,BGB]" SOURCE_FILE;
	INTEGER CNT,BRK,EOF,FLG,Q1,Q2;
	STRING STR,LINE;

PROCEDURE PASS (INTEGER I,J);
BEGIN "PASS"
	INTEGER CHR1,CHR2;
	OUTSTR("PASS "&CVS(I)&"."&CVS(J)&↓);
	OPEN(0,"DSK",0,3,0,CNT,BRK,EOF);
	LOOKUP(0,"LEVEL1",FLG);
	CHR1 ← '60 + I; IF I<10 THEN ELSE CHR1←CHR1-10;
	CHR2 ← '60 + J;
IF I<10 THEN
WHILE TRUE DO
BEGIN
	CNT←120;LINE ← INPUT(0,1);
	IF EOF THEN DONE;
	IF LENGTH(LINE)≥41 ∧ LINE[40 FOR 1]=CHR1 ∧ LINE[42 FOR 1]=CHR2 THEN
	⊂ OUT(1,LINE&↓&↓);⊃;
END ELSE
WHILE TRUE DO
BEGIN
	CNT←120;LINE ← INPUT(0,1);
	IF EOF THEN DONE;
	IF LENGTH(LINE)≥41 ∧ LINE[41 FOR 1]=CHR1 ∧ LINE[43 FOR 1]=CHR2 THEN
	⊂ OUT(1,LINE&↓&↓); ⊃;
END;
	RELEASE(0);
END "PASS";

α OUTPUT FILE;
	OPEN(1,"DSK",0,0,3,0,0,0);
	ENTER (1,"LEV1",FLG);
	SETBREAK(1,'12,'15,"INS");
	PASS(2,1);
	FOR Q1←3 STEP 1 UNTIL 17 DO
	FOR Q2←0,5 DO PASS(Q1,Q2);
	RELEASE(1);
END "SORT";